﻿using GDM.Hogar.Entidades;
using GDM.Hogar.Managers.Contratos;
using GDM.Hogar.Repositorios.Contratos;
using System;
using System.Collections.Generic;

namespace GDM.Hogar.Managers
{
    public class AgenteManager : IAgenteManager
    {
        private readonly IAgenteRepositorio _agenteRepositorio;

        public AgenteManager(IAgenteRepositorio agenteRepositorio)
        {
            if (agenteRepositorio == null)
            {
                throw new ArgumentNullException("agenteRepositorio");
            }
            _agenteRepositorio = agenteRepositorio;
        }

        public void ActivarAgente(int agenteId, bool activo)
        {
            _agenteRepositorio.ActivarAgente(agenteId, activo);
        }

        public void ActualizarAgente(Agente agente)
        {
            _agenteRepositorio.ActualizarAgente(agente);
        }

        public bool ExisteAgente(string dni)
        {
            var agente = _agenteRepositorio.ObtenerAgente(dni);
            return agente != null;
        }

        public void GuardarAgente(Agente agente)
        {
            _agenteRepositorio.GuardarAgente(agente);
        }

        public Agente ObtenerAgente(int agenteId)
        {
            return _agenteRepositorio.ObtenerAgente(agenteId);
        }

        public IList<ConsultaAgente> ObtenerAgentes()
        {
            return _agenteRepositorio.ObtenerAgentes();
        }

        public IList<ConsultaDocente> ObtenerDocentes()
        {
            return _agenteRepositorio.ObtenerDocentes();
        }
    }
}